package com.jishulianmeng.entity;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

/**
 * User entity. @author monologu
 */

public class User implements java.io.Serializable {

	// Fields

	private long userId;
	private Role role;
	private String userUsername;
	private String userPassword;
	private String userNickname;
	private String userTruename;
	private String userEmail;
	private String userPhone;
	private Date userBirthday;
	private String userGender;
	private String userIconUrl;
	private String userBackgroundColor;
	private Date userCreateDate;
	private Integer userLevel;
	private Integer userIntegral;
	private String userWallet;
	private Date userLastLoginTime;
	private String userLastLoginIp;
	private long userLoginCount;
	private short userStatus;
	private String userRemark;
	private Set replies = new HashSet(0);
	private Set literatures = new HashSet(0);
	private Set userLogses = new HashSet(0);
	private Set photoses = new HashSet(0);

	// Constructors

	/** default constructor */
	public User() {
	}

	/** minimal constructor */
	public User(String userUsername, String userPassword, String userEmail) {
		this.userUsername = userUsername;
		this.userPassword = userPassword;
		this.userEmail = userEmail;
	}

	/** full constructor */
	public User(Role role, String userUsername, String userPassword,
			String userNickname, String userTruename, String userEmail,
			String userPhone, Date userBirthday, String userGender,
			String userIconUrl, String userBackgroundColor,
			Date userCreateDate, Integer userLevel, Integer userIntegral,
			String userWallet, Date userLastLoginTime, String userLastLoginIp,
			long userLoginCount, short userStatus, String userRemark,
			Set replies, Set literatures, Set userLogses, Set photoses) {
		this.role = role;
		this.userUsername = userUsername;
		this.userPassword = userPassword;
		this.userNickname = userNickname;
		this.userTruename = userTruename;
		this.userEmail = userEmail;
		this.userPhone = userPhone;
		this.userBirthday = userBirthday;
		this.userGender = userGender;
		this.userIconUrl = userIconUrl;
		this.userBackgroundColor = userBackgroundColor;
		this.userCreateDate = userCreateDate;
		this.userLevel = userLevel;
		this.userIntegral = userIntegral;
		this.userWallet = userWallet;
		this.userLastLoginTime = userLastLoginTime;
		this.userLastLoginIp = userLastLoginIp;
		this.userLoginCount = userLoginCount;
		this.userStatus = userStatus;
		this.userRemark = userRemark;
		this.replies = replies;
		this.literatures = literatures;
		this.userLogses = userLogses;
		this.photoses = photoses;
	}

	// Property accessors

	public long getUserId() {
		return this.userId;
	}

	public void setUserId(long userId) {
		this.userId = userId;
	}

	public Role getRole() {
		return this.role;
	}

	public void setRole(Role role) {
		this.role = role;
	}

	public String getUserUsername() {
		return this.userUsername;
	}

	public void setUserUsername(String userUsername) {
		this.userUsername = userUsername;
	}

	public String getUserPassword() {
		return this.userPassword;
	}

	public void setUserPassword(String userPassword) {
		this.userPassword = userPassword;
	}

	public String getUserNickname() {
		return this.userNickname;
	}

	public void setUserNickname(String userNickname) {
		this.userNickname = userNickname;
	}

	public String getUserTruename() {
		return this.userTruename;
	}

	public void setUserTruename(String userTruename) {
		this.userTruename = userTruename;
	}

	public String getUserEmail() {
		return this.userEmail;
	}

	public void setUserEmail(String userEmail) {
		this.userEmail = userEmail;
	}

	public String getUserPhone() {
		return this.userPhone;
	}

	public void setUserPhone(String userPhone) {
		this.userPhone = userPhone;
	}

	public Date getUserBirthday() {
		return this.userBirthday;
	}

	public void setUserBirthday(Date userBirthday) {
		this.userBirthday = userBirthday;
	}

	public String getUserGender() {
		return this.userGender;
	}

	public void setUserGender(String userGender) {
		this.userGender = userGender;
	}

	public String getUserIconUrl() {
		return this.userIconUrl;
	}

	public void setUserIconUrl(String userIconUrl) {
		this.userIconUrl = userIconUrl;
	}

	public String getUserBackgroundColor() {
		return this.userBackgroundColor;
	}

	public void setUserBackgroundColor(String userBackgroundColor) {
		this.userBackgroundColor = userBackgroundColor;
	}

	public Date getUserCreateDate() {
		return this.userCreateDate;
	}

	public void setUserCreateDate(Date userCreateDate) {
		this.userCreateDate = userCreateDate;
	}

	public Integer getUserLevel() {
		return this.userLevel;
	}

	public void setUserLevel(Integer userLevel) {
		this.userLevel = userLevel;
	}

	public Integer getUserIntegral() {
		return this.userIntegral;
	}

	public void setUserIntegral(Integer userIntegral) {
		this.userIntegral = userIntegral;
	}

	public String getUserWallet() {
		return this.userWallet;
	}

	public void setUserWallet(String userWallet) {
		this.userWallet = userWallet;
	}

	public Date getUserLastLoginTime() {
		return this.userLastLoginTime;
	}

	public void setUserLastLoginTime(Date userLastLoginTime) {
		this.userLastLoginTime = userLastLoginTime;
	}

	public String getUserLastLoginIp() {
		return this.userLastLoginIp;
	}

	public void setUserLastLoginIp(String userLastLoginIp) {
		this.userLastLoginIp = userLastLoginIp;
	}

	public long getUserLoginCount() {
		return this.userLoginCount;
	}

	public void setUserLoginCount(long userLoginCount) {
		this.userLoginCount = userLoginCount;
	}

	public short getUserStatus() {
		return this.userStatus;
	}

	public void setUserStatus(short userStatus) {
		this.userStatus = userStatus;
	}

	public String getUserRemark() {
		return this.userRemark;
	}

	public void setUserRemark(String userRemark) {
		this.userRemark = userRemark;
	}

	public Set getReplies() {
		return this.replies;
	}

	public void setReplies(Set replies) {
		this.replies = replies;
	}

	public Set getLiteratures() {
		return this.literatures;
	}

	public void setLiteratures(Set literatures) {
		this.literatures = literatures;
	}

	public Set getUserLogses() {
		return this.userLogses;
	}

	public void setUserLogses(Set userLogses) {
		this.userLogses = userLogses;
	}

	public Set getPhotoses() {
		return this.photoses;
	}

	public void setPhotoses(Set photoses) {
		this.photoses = photoses;
	}

}